// 知识点：文件的读入与重写,两种文件流皆有open和close函数，之后视情况打开读或者写模式
//代表文件名
// string infile;
// ifstream定义了一个输入流in(文件流)，它被初始化从文件中读取数据
// ifstream in(infile);
//检查文件的读取是否成功,养成良好的习惯！
// if (in) {
//......
// } else {
//   cerr << "cannot open this file: " << infile << endl;
// }
//关闭文件
// in.close();
//关闭文件后，才可以打开另一个文件
// in.open(infile + ".copy");
// ofstream不与任何文件相关联，只定义了一个输出流out(文件流)
// ofstream out;
// if (out) {
// } else {
//   cerr << "sorry" << endl;
// }
// out.open(file + ".copy");
/*当一个fstream对象被销毁时，close函数会被自动调用*/
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

int main(int argc, char **argv) {
  /*两种文件流皆有open和close函数，之后视情况打开读或者写模式*/
  string infile = "chapter8\\1.txt"; //代表文件名
  vector<string> vec;                //声明一个vector
  // ifstream定义了一个输入流in(文件流)，它被初始化从文件中读取数据
  ifstream in(infile);
  //检查文件的读取是否成功,养成良好的习惯！
  if (in) {
    string buf;
    //每行独立输入的方法，利用getline
    while (getline(in, buf)) {
      vec.push_back(buf);
    }
  } else {
    cerr << "cannot open this file: " << infile << endl;
  }
  for (int i = 0; i < vec.size(); ++i) {
    cout << vec[i] << endl;
  }

  return 0;
}
